package com.distribute.core.annotation;

import com.distribute.core.core.DistributeLocalCacheScannerRegistrar;
import com.distribute.core.core.el.DLCNotifyAspect;
import com.distribute.core.init.AbstractNotifyComponent;
import com.distribute.core.init.Initializer;
import org.springframework.context.annotation.Import;

import java.lang.annotation.*;

/**
 * 允许使用分布式本地缓存管理
 *
 * @author chennengcheng
 * @date 2020-04-24 9:43
 * @remark
 */

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(value = {DistributeLocalCacheScannerRegistrar.class, Initializer.class})
public @interface EnableDistributeLocalCache {

    String[] basePackages() default {};

    /**
     * 默认通知组件
     *
     * @return
     */
    Class<? extends AbstractNotifyComponent> notifyOfComponent();
}
